<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        
        var nums=[10,6,3,1,27,789,16];
        // 求数组中的元素之和
        // 交换数组中的最大值和第一个元素的位置，交换数组中最小值和最后一位的位置，最终结果如下：
        // [789,6,3,16,27,10,1]
        var sum=0;//和
        for(var val of nums){
            sum+=val;
        }
        console.log(sum);

        var maxIndex=0;//假设最大值的索引为0
        var minIndex=0;//假设最小值的索引为0

        // nums[maxIndex]表示最大值
        // nums[minIndex]表示最小值
        for(var i=1;i<nums.length;i++){                                                     //maxIndex=4        //maxIndex=5         //maxIndex=5
            if(nums[maxIndex]<nums[i]){//nums[0]<nums[1]  nums[0]<nums[2]  nums[0]<nums[3] nums[0]<nums[4] nums[maxIndex]<nums[5]  nums[maxIndex]<nums[6]
                maxIndex=i;
            }          
            if(nums[minIndex]>nums[i]){//nums[0]>nums[1]  nums[minIndex]>nums[2] nums[minIndex]>nums[3] nums[minIndex]>nums[4] nums[minIndex]>789...
                minIndex=i;            //minIndex=1          minIndex=2             minIndex=3
            }
        }
        console.log("最大值的索引:"+maxIndex+",最小值的索引:"+minIndex);
        
        //交换最大值和第一个元素的位置 nums[maxIndex]和nums[0]

        var temp=nums[0];//将数组中的第一个元素的值赋值给变量temp
        nums[0]=nums[maxIndex];//将最大值赋值给第一个元素的位置
        nums[maxIndex]=temp;//将原来第一个元素的位置的值赋值到最大值的位置上

        //交换最小值和最后一个元素的位置 nums[minIndex]和nums[nums.length-1]
        temp=nums[nums.length-1];//将数组中的最后一个元素的值赋值给变量temp
        nums[nums.length-1]=nums[minIndex];//将最小值赋值给最后一个元素的位置
        nums[minIndex]=temp;//将原来最后一个元素的位置的值赋值到最小值的位置上
        console.log(nums);
    </script>
</head>
<body>
    
</body>
</html>